Systems and methods for dynamically associating thread labels with messages in a mobile environment

ABSTRACT

Systems and methods are provided for associating thread labels with select messages in a mobile messaging conversation environment, either before or after the messages have been sent, and providing intelligent dynamic presentations of such select messages based on the thread label(s) associated therewith.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application No.62/627,720, filed Feb. 7, 2018, the disclosure of which is incorporatedherein.

TECHNICAL FIELD

The disclosed technology relates generally to messaging systems, andsome embodiments relate more particularly to systems and methods fordynamically associating thread labels to messages within a conversation(either before or after the messages have been sent), and/or providingoptional filtered presentations of such select messages based on thethread label(s) associated with such messages.

DESCRIPTION OF THE RELATED ART

Mobile messaging systems are commonplace in today's society. Textmessaging, in particular, is widespread. Mobile messaging provides aquick and easy mechanism to send information to others over a cellularnetwork, Internet network, or other network. For example, mobilemessaging systems may allow users to send messages containing text,photos, videos, graphics, and other multimedia to one another, andthereby enable users to have conversations and share information andmemories with one another. Some of the messages sent between or amongusers may relate to one topic, while other messages may relate toanother topic, and still further messages might relate to multipletopics. Topics to which messages relate may include events, family,work, friends, appointments, current events, common interests, hobbies,etc. Regardless of the topic, however, all such messages are provided ina single conversation feed between users in mobile environments. Nomobile messaging system provides native threading tools to enable a userto dynamically (before or after transmission of a message) associate ordisassociate the message with a thread label within a mobile messagingconversation, view a subset of messages from a conversation based on thegiven thread label dynamically associated with the subset of messages,organize messages based on their dynamic association with a given threadlabel, coordinate/propagate such dynamic thread label associations tocomputing devices of relevant parties to a given messaging conversation,and/or search messages based on dynamically associated thread labelsassociated therewith. Instead, current mobile messaging systems onlyallow a user to search for one or more words throughout an entireconversation history. In particular, no mobile messaging systemcurrently enables post-transmission association of a thread label with amessage.

This lack of ability to dynamically associate/disassociate/re-associatemessages with thread labels, and correspondingly view, organize,coordinate, propagate, and search such messages can lead to wasted timeand effort trying to find particular messages about a topic or view allmessages about a topic. This can be particularly problematic when agiven set of users has an extensive conversation history—such asconversations between family members or long-term friends who often sendmobile messages to one another using the same phone numbers for years ata time. Indeed, some users may maintain a single conversation feedamongst themselves for 10 or more years, thus making it difficult tosearch for a particular message sent long ago (e.g., 8 years ago) orview the history of a conversation about a particular topic. Further, inmobile messaging conversations, users often discuss multiple topics atthe same time and may send a message about one topic, then a secondmessage about a second topic, then a third message about a third topicand then a fourth message about the first topic, making it difficult fora recipient of those messages to tell which messages relate to whichtopics. When a recipient replies to those messages, it gets even moredifficult for the other participants to the conversation to determinewhich messages relate to which topics. Accordingly, systems and methodsproviding solutions to these issues are provided by the instantdisclosure.

SUMMARY OF THE EMBODIMENTS

In accordance with various embodiments of the present disclosure, anexample system may include: one or more processors; a memory storinginstructions that, when executed by the one or more processors, causethe system to: provide a first messaging interface for electronicmessaging; generate, responsive to a user selection, one or more threadlabels corresponding to one or more topics; associate, responsive to auser selection from within the first messaging interface, one or more ofthe generated thread labels with a message; provide a second messaginginterface for electronic messaging corresponding to one of the threadlabels; wherein the first messaging interface is configured to display aconversation feed including one or more of: a collection of one or moremessages not associated with one or more thread labels, and a collectionof one or more messages associated with one or more thread labels; andwherein the second messaging interface is configured to display aconversation feed including only a collection of one or more messagesassociated with one of the thread labels corresponding to the secondmessaging interface.

In some embodiments of the present disclosure, systems of the presentdisclosure may further store instructions that, when executed by the oneor more processors, cause the system to: provide, within the firstmessaging interface, one or more selectable display objects associatedwith the one or more thread labels; and/or navigate, responsive to auser selection of a selectable display object associated with one of thethread labels corresponding to the second messaging interface, from thefirst messaging interface to the second messaging interface; and/orarrange, within the first messaging interface, a display of the one ormore selectable display objects based on a number of unread messageshaving a thread label associated with the one or more selectable displayobjects; and/or disassociate, responsive to a user selection from withinthe first messaging interface, one or more previously associated threadlabels from the message; and/or disassociate, responsive to a userselection from within the second messaging interface, one or morepreviously associated thread labels from the message; and/or add,responsive to an association of one or more of the generated threadlabels with a message containing one or more of an image, a video and aGIF, the one or more of the image, the video and the GIF into a threadlabel associated album, wherein the thread label album corresponds to acollection of images, videos and GIFs contained within messagesassociated with a thread label; and/or remove, responsive to adisassociation of one or more of the generated thread labels from amessage containing one or more of an image, a video and a GIF, the oneor more of the image, the video and the GIF from the thread labelassociated album.

In some embodiments, systems of the present disclosure may further storeinstructions that, when executed by the one or more processors, causethe system to: associate or disassociate, responsive to a user selectionfrom within an interface of the present disclosure, a thread label witha message at any time before or after a message has been transmitted.

In some embodiments of the present disclosure, the one or moreselectable display objects may include thumbnails comprising imageryassociated with the corresponding one or more thread labels. And in someinstances, the thumbnail imagery of the one or more selectable displayobjects may be modified by a user.

In accordance with various embodiments of the present disclosure, anexample method may involve: providing a first messaging interface forelectronic messaging; generating, responsive to a user selection, one ormore thread labels corresponding to one or more topics; associating,responsive to a user selection from within the first messaginginterface, one or more of the generated thread labels with a message;and/or providing a second messaging interface for electronic messagingcorresponding to one of the thread labels; wherein the first messaginginterface is configured to display a conversation feed including one ormore of: a collection of one or more messages not associated with one ormore thread labels, and a collection of one or more messages associatedwith one or more thread labels; and wherein the second messaginginterface is configured to display a conversation feed including only acollection of one or more messages associated with one of the threadlabels corresponding to the second messaging interface.

In some embodiments of the present disclosure, methods of the presentdisclosure may involve: providing, within the first messaging interface,one or more selectable display objects associated with the one or morethread labels; and/or navigating, responsive to a user selection of aselectable display object associated with one of the thread labelscorresponding to the second messaging interface, from the firstmessaging interface to the second messaging interface; and/or arranging,within the first messaging interface, a display of the one or moreselectable display objects based on a number of unread messages having athread label associated with the one or more selectable display objects;and/or disassociating, responsive to a user selection from within thefirst messaging interface, one or more previously associated threadlabels from the message; and/or disassociating, responsive to a userselection from within the second messaging interface, one or morepreviously associated thread labels from the message; and/or adding,responsive to an association of one or more of the generated threadlabels with an electronic message containing one or more of an image, avideo and a GIF (or any other form of multimedia as may exist from timeto time) that users may send to each other through electronicmessaging), the one or more of the image, the video and the GIF into athread label associated album, wherein the thread label albumcorresponds to a collection of images, videos and GIFs contained withinmessages associated with a thread label; and/or removing, responsive toa disassociation of one or more of the generated thread labels from amessage containing one or more of an image, a video and a GIF, the oneor more of the image, the video and the GIF from the thread labelassociated album.

In some embodiments, methods of the present disclosure may furtherinvolve: associating or disassociating, responsive to a user selectionfrom within an interface of the present disclosure, a thread label witha message at any time before or after a message has been transmitted.

In some embodiments of the present disclosure, the one or moreselectable display objects may include thumbnails comprising imageryassociated with the corresponding one or more thread labels. And in someinstances, the thumbnail imagery of the one or more selectable displayobjects may be modified by a user.

BRIEF DESCRIPTION OF THE DRAWINGS

The technology disclosed herein, in accordance with one or more variousembodiments, is described in detail with reference to the followingfigures. The drawings are provided for purposes of illustration only andmerely depict typical or example embodiments of the disclosedtechnology. These drawings are provided to facilitate the reader'sunderstanding of the disclosed technology and shall not be consideredlimiting of the breadth, scope, or applicability thereof. It should benoted that for clarity and ease of illustration these drawings are notnecessarily made to scale.

FIG. 1 is a block diagram illustrating an example system in accordancewith one or more embodiments of the present disclosure.

FIG. 2A illustrates an example primary messaging interface at clientcomputing device (here, a mobile smartphone) before a thread label hasbeen created, as may be implemented in accordance with one or moreembodiments of the present disclosure.

FIG. 2B illustrates an example thread creation interface as may beimplemented in accordance with one or more embodiments of the presentdisclosure.

FIG. 2C illustrates an example primary messaging interface after one ormore thread labels have been created, as may be implemented inaccordance with one or more embodiments of the present disclosure.

FIG. 2D illustrates an example primary messaging interface after apreviously created thread label has been selected for association withthe outgoing message being composed, in accordance with one or moreembodiments of the present disclosure.

FIG. 2E illustrates an example primary messaging interface at the clientcomputing device of the recipient receiving the outgoing message shownin FIG. 2D, here illustrating an embodiment where the thread label ofthe received message is optionally automatically selected as the threadlabel to be associated with the recipient's responsive message, inaccordance with one or more embodiments of the present disclosure.

FIG. 2F illustrates an example primary messaging interface at the clientcomputing device of the recipient receiving the outgoing message shownin FIG. 2D, here illustrating the option to change the thread labelassociated with a subsequent message, thereby signaling a change in thetopic of conversation. The illustration depicts options available to theuser while composing a new message, by way of example. The user mayassociate a thread label to the new message that is different than thethread label of the previously sent or received messages, in accordancewith one or more embodiments of the present disclosure.

FIG. 2G illustrates an example conversation feed of a primary messaginginterface including a message that has been associated with a threadlabel, as well as a message that has not been associated with any threadlabel at all, in accordance with one or more embodiments of the presentdisclosure.

FIG. 2H illustrates an example filter interface where a user may viewall thread labels created within a particular conversation, select athread label of interest and thereby navigate to a view displaying onlymessages associated with the selected thread label, in accordance withone or more embodiments of the present disclosure.

FIG. 2I illustrates an example filtered conversation interface where auser may view messages that have been associated with a particularthread label (e.g., by selecting a particular thread label) as filteredfrom the remaining messages that occurred within an entire messagingconversation, in accordance with one or more embodiments of the presentdisclosure. Also as illustrated, in some embodiments the filteredconversation interface may be operable as a secondary messaginginterface, and thus may sometimes be referred to herein as a secondarymessaging interface.

FIG. 2J illustrates an example primary messaging interface where a usermay remove a thread label that was previously associated with a message(also referred to herein as disassociating a thread label with amessage), change the thread label associated with a message, and/or adda thread label (also referred to herein as associating a thread labelwith the message) to a message, in each case, even after the message hasalready been transmitted or received, among other features, inaccordance with one or more embodiments of the present disclosure.

FIG. 2K illustrates an extension of the example primary messaginginterface in FIG. 2J, where a user may not only be enabled to remove athread label from a previously sent message already associated with athread label, but may also be enabled to react to or otherwise emphasizea message using emoticons or other graphical elements.

FIG. 2L illustrates an example messaging interface including anotherexample thread bar in accordance with various embodiments of the presentdisclosure.

FIG. 2M illustrates an example interface including an overview of recentusers with whom the user has sent and/or received messages, includingthread label indications of recently received messages in accordancewith various embodiments of the present disclosure.

FIG. 3A illustrates another example primary messaging interface at thephone of a user where it may be seen that messages that have beenassociated with different thread labels may be displayed in theconversation in the same primary messaging interface, in accordance withone or more embodiments of the present disclosure.

FIG. 3B illustrates another example filtered conversation interfacewhere a user may view messages about a selected topic as filtered fromthe remaining messages that occurred within the more global messagingconversation between the participant parties, in accordance with one ormore embodiments of the present disclosure. As further illustrated, insome embodiments, the filtered conversation interface may be operable asa secondary messaging interface and thus may sometimes be referred toherein as a secondary messaging interface.

FIG. 4A illustrates an example of a modified primary messaging interfacein accordance with one or more embodiments of the present disclosure.

FIG. 4B illustrates a view of the modified primary messaging interfaceof FIG. 4A after an already transmitted message has been laterassociated with a thread label.

FIG. 5 illustrates an example account setup interface as may beimplemented in accordance with one or more embodiments of the presentdisclosure.

FIG. 6 illustrates an example contact settings interface where a user isgiven the option to control notifications regarding messages receivedfrom a particular contact of the user, as may be implemented inaccordance with one or more embodiments of the present disclosure.

FIG. 7 illustrates an example multimedia filter interface, as may beimplemented in accordance with one or more embodiments of the presentdisclosure.

FIG. 8 illustrates an example method that may be implemented inaccordance with one or more embodiments of the present disclosure.

FIG. 9 illustrates another example method that may be implemented inaccordance with one or more embodiments of the present disclosure.

FIG. 10 illustrates an example computing component that may be used inimplementing various features of embodiments of the disclosedtechnology.

The figures are not intended to be exhaustive or to limit the inventionto the precise form disclosed. It should be understood that theinvention can be practiced with modification and alteration, and thatthe disclosed technology be limited only by the claims and theequivalents thereof.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Embodiments of the technology disclosed herein are directed towardadvanced messaging systems, and some embodiments relate moreparticularly to systems and methods for dynamically associating threadlabels to messages within a mobile messaging environment, either beforeor after the messages have been transmitted within a conversation,and/or providing a filtered presentation of select messages based on thethread label(s) associated with such messages.

FIG. 1 is a block diagram illustrating an example system in accordancewith one or more embodiments of the present disclosure. As shown, asystem 1000 of the present disclosure may include a plurality of clientcomputing devices (e.g., client computing device 1010, client computingdevice 1011, client computing device N) communicatively coupled with oneanother over network 1050. The plurality of client computing devices mayfurther be communicatively coupled with a messaging management entity1060 over network 1050.

As shown in FIG. 1, a client computing device (e.g., a smartphone) suchas client computing device 1010 may include an electronic storage 1020configured to store electronic data such that the data may be retrieved,recalled, or otherwise accessible to other components of clientcomputing device 1010, and/or to messaging management entity 1060 withwhich client computing device 1010 is communicatively coupled. As shown,client computing device 1010 may include one or more processing enginessuch as processor(s) 1030 configured to effectuate one or more featuresof the presently disclosed technology upon execution of the one or morecomputer readable instructions 1040 accessible thereto. In someembodiments, the hardware and/or computer readable instructions 1040 ofclient computing device 1010 may comprise a messaging component 1041, athreading component 1042, a filtering component 1043, and a settingscomponent 1044, among other components 1045.

Messaging component 1041 may be configured to provide a user with aninteractive view of: one or more filtered or unfiltered conversationsthe user may be involved in with one or more other users, and/or one ormore messaging tools the user may operate to compose or otherwiseprepare a message to be sent and included within one or moreconversations with one or more other users. An unfiltered conversationwith a particular user or group of users may be viewed in theconversation pane of what is sometimes referred to herein as a primarymessaging interface, while filtered conversations (explained in moredetail herein) with a particular user or group of users may be viewed inthe conversation pane of what is sometimes referred to herein as asecondary messaging interface or a filtered conversation interface. Aswill be explained in more detail herein, an unfiltered view of aconversation with a particular user or group of users may include allthe messages transmitted back-and-forth between such users, regardlessof the thread label(s) (if any) associated with any one or more suchmessages; and a filtered view of a conversation with a particular useror group of users may include less than all messages transmittedback-and-forth between such users, where one or more messages notassociated with a designated thread label are filtered out of the viewsuch that the application interface displays only those messagesassociated with the designated thread label.

In some alternative embodiments, messaging component 1041 may also beconfigured to provide a user with a modified primary messaging interface(e.g., which may be optionally selectable), where the modified primarymessaging interface provides a quasi-unfiltered view of the messageswithin a conversation instead of an entirely unfiltered view of themessages within a conversation with one or more users. Aquasi-unfiltered view of a conversation with a particular user or groupof users may include messages transmitted back-and-forth between theusers that have not been associated with a thread label, but excludesthe messages that have been associated with a thread label.Quasi-unfiltered refers to the idea that the messages shown in the feedare not filtered in favor of a particular thread label, but instead arefiltered to show only those messages with no thread label at all. Anexample of an optional modified primary messaging interface will beillustrated and explained in particular with reference to FIGS. 4A-B.

Threading component 1042 may be configured to provide one or moreelectronic threading tools to a user via a messaging interface (e.g., aprimary messaging interface, a modified primary messaging interface, asecondary messaging interface, etc.), the one or more threading toolsenabling a user to selectively define a new thread label, view and/orselect a thread label from among one or more previously defined threadlabels, associate or disassociate a thread label with a message, and/ordefine or modify one or more settings associated with the one or morethreading tools or conversations occurring within system 1000.

In some embodiments, threading tools may be made available to a user viaicons displayed on a graphical user interface presented as part of amobile application. In such embodiments, for example, upon selection ofan icon associated with defining a new thread label, the user may betaken to a thread creation interface (i.e., the app may navigate to athread creation screen) with which the user may interact to define a newthread label, and/or edit one or more parameters associated with apreviously created thread label, in which case, any newly created threadlabels or edits to previously created thread labels will be reflected onthe device of each participant to the conversation.

In some embodiments, upon selection of an icon associated with defininga new thread label, the user is not taken to a thread creation interfaceseparate from the primary messaging interface; rather, the user ispresented with a thread bar within the primary messaging interface(discussed below), the thread bar allowing the user to create a threadlabel within the primary messaging interface itself without navigatingaway from the conversation. In some such embodiments, the user may notbe able to define one or more of the parameters associated with thethread label within the primary messaging interface that the user wouldotherwise be able to define within the thread creation interface.

In some embodiments, associating or disassociating a thread label with amessage may occur before or after a message has been transmitted overthe network (i.e., sent to another client computing device and/or themessaging management entity 1060). Similarly, in some embodiments,defining or modifying one or more settings associated with one or morethreading tools (discussed below) may occur before or after a messagehas been sent. In some embodiments, such settings or modifications tosuch settings may only apply to future messaging interactions. In otherembodiments, such settings or modifications to such settings mayretroactively apply to previously sent messages in one or moreconversations.

Filtering component 1043 may be configured to provide one or morefiltering tools to the user within the interactive view of a messaginginterface (e.g., via a graphical user interface of a mobile applicationrunning on the user's client computing device). The one or morefiltering tools may be accessible to a user via one or more iconspresented within the interactive view of a messaging interface.Responsive to a user's selection of one or more such icons, the user maybe taken to a filtering interface whereupon the user may filter the viewof a conversation with a user or group of users by one or more of thethread labels used within the overall conversation with such user orgroup of users. Filtering component 1043 may further be configured toprovide a search field to a user to enable such user to search forcertain text (e.g., a certain word or certain phrase) within aconversation or within the name of a thread label. Upon the occurrenceof such a text search, filtering component 1043 may present a limitedview of the thread labels used within the conversation, the limited viewshowing only those thread labels associated with a message that containsthe text the user entered as part of the user's search query and/orthose thread labels with names that contain the text the user entered aspart of the user's search query.

Settings component 1044 may be configured to provide a user with one ormore settings tools, the settings tools enabling the user to provideinput to set up an account or user profile, define notificationpreferences, edit account or contact information, and/or define one ormore permissions that may be propagated or otherwise applied against oneor more other users, groups of users, certain users within a group ofusers or thread labels.

It should be noted that a client computing device may be any type ofcomputing device, including but not limited to a smartphone, a phone, atablet, a desktop computer, a workstation, a computer, a laptop, and/orother device configured to send and receive messages over network 1050to one or more other client computing devices and/or a messagingmanagement entity 1060. Message management entity 1060 may be configuredto monitor changes to any thread label associations in a givenconversation, and further to propagate such changes to otherparticipants within the given conversation. Message management entity1060 may monitor any changes made by a user via his or her clientcomputing device (e.g., any changes made by a user to a message, agroup, a thread label, etc.), and such changes may be reflected on thedevices of all users in the conversation (or all users remaining in aconversation). Message management entity 1060 may comprise one or moreservers, processing engines, other computing resources communicativelycoupled with one or more client computing devices over network 1050.

Having thus described an example messaging system with which one or moreaspects of the disclosed technology can be implemented, variousembodiments and examples are now described. Although the disclosedtechnology may be described from time to time herein in terms of thisexample messaging system, one of ordinary skill in the art reading thisdisclosure will understand how aspects of the disclosed technology canbe implemented with different messaging systems. Various embodiments andexamples of the presently disclosed technology (shown in FIGS. 2A-9) areprovided to help show one or more of the features provided by system1000, effectuated whole or in part by messaging management entity 1060,messaging component 1041, threading component 1042, filtering component1043, settings component 1044, and/or other components 1045. As shownherein, some embodiments of the presently disclosed technology may beimplemented, in whole or in part, as a mobile application running on aplurality of smartphones communicatively coupled to one another. Beforediscussing the various examples in further detail, however, it should benoted that although certain elements and components are often discussedherein with reference to computation resources local to client computingdevices, it should be appreciated that any one or more of such elementsand components may be located, distributed, and/or implemented in wholeor in part at messaging management entity 1060 without departing fromthe scope of the present disclosure.

FIG. 2A illustrates an example primary messaging interface 2100 shownwithin a Graphical User Interface (GUI) 2000 of a mobile applicationrunning on an example mobile computing device, as may be implemented inaccordance with one or more embodiments of the present disclosure.

The primary messaging interface 2100 shown depicts an example primarymessaging interface before any thread labels have been created orotherwise established—via operation of one or more of the aforementionedcomponents—between the user of the example mobile computing device shownand the intended recipient. The primary messaging interface 2100 mayinclude a message composition zone 2102 wherein a user may compose amessage to one or more recipients by providing input through one or moreinput tools. Such input tools may include, by way of example, the QWERTYkeyboard 2106 shown in FIG. 2A, the multimedia (e.g., photos, videos,GIFs, etc.) selection tool 2108 shown in FIG. 2A, the thread labelcreator 2120 shown in FIG. 2A, a voice note creation tool (not shown), alocation sending tool (not shown), an audio file attachment tool (notshown), a send button 2107 shown in FIG. 2A, among other tools. Itshould be noted that the foregoing are merely examples of input toolsthat may be implemented in accordance with one or more embodiments ofthe present disclosure, and are not intended to be limiting. Variationsand modifications of the foregoing may also be implemented withoutdeparting from the present disclosure. For example, QWERTY keyboard 2106above may instead be arranged as an AZERTY keyboard, a QWERTZ keyboard,a HCESAR keyboard, and/or other keyboards. QWERTY keyboard 2106 may alsobe a smart keyboard that may suggest a word based on a user's input,auto-correct misspelled words, or allow users to use emojis, symbols,graphics, and/or other input.

Primary messaging interface 2100 may further include one or morethreading tools (provided via threading component 1042 of system 1000)to enable a user to associate a thread label with a message. As will bediscussed in more detail with respect to subsequent figures, suchthreading tools may include: (a) a thread bar 2103 to display threadlabels that have been selected—automatically or manually—for associationwith a message (e.g., an outgoing message being composed); (b) one ormore threading buttons (e.g., thread adder 2104 and thread label creator2120) which provide users with (i) the ability to create a new threadlabel (either within the primary messaging interface, or through adifferent screen that can be navigated to through the primary messaginginterface), (ii) the ability to select a previously created threadlabel, (iii) the ability to edit or delete a previously created threadlabel, and/or (iv) associate a thread label with a message (whetherbefore, during, or after a message has been composed, sent or received).Examples of one or more implementations of the foregoing features areshown and described in more detail with respect to FIG. 2B—FIG. 2J.

Referring still to FIG. 2A, when a user initially enters primarymessaging interface 2100, the portion of the interface constituting area2101 may be configured such that thread bar 2103, thread label creator2120, thread adder 2104, and/or thread bar 2123 (from FIGS. 2C and 2F)are not initially displayed. If a user were to tap on threading button2105, then the portion constituting area 2101 may then display threadbar 2103, thread label creator 2120, thread adder 2104, and/or threadbar 2123. By tapping on threading button 2105 again, the portionconstituting area 2101 may no longer display thread bar 2103, threadlabel creator 2120, thread adder 2104, and/or thread bar 2123. Anymessages transmitted by a user when the portion constituting area 2101does not display thread bar 2103, thread label creator 2120, threadadder 2104, and/or thread bar 2123 may be transmitted without beingassociated with any thread labels. Further, in some embodiments, threadbar 2103 may only appear after a thread label has been selected from thethread selector bar 2123.

Referring still to FIG. 2A, primary messaging interface 2100 may alsoinclude a conversation pane 2140 where messages that have already beentransmitted between users in the conversation may appear. Theconversation pane 2140 of primary messaging interface 2100 may displayall or part of the entire conversation feed between or among parties toa conversation. In some embodiments, a user may scroll upward ordownward within conversation pane 2140 to view more recent or oldermessages.

As further shown in FIG. 2A, primary messaging interface 2100 mayinclude a recipient identifier 2109 which identifies one or more personsincluded in a given conversation. Recipient identifier 2109 may includeany type of alphanumeric characters, graphics, and/or any symbolicidentifiers as desired. FIG. 2A depicts an example default recipientidentifier 2109 that merely includes a representative thumbnail where aphoto or other graphic may be displayed in connection with a givenrecipient, as well as a textual description that may be displayed inconnection with a given recipient (here, the recipient's name shownsymbolically as “[Recipient Name]”).

Primary messaging interface 2100 may also include thread label creator2120 which, when selected by a user, may either (a) navigate the user toa different screen where the user could create a new thread label or (b)allow the user to create a new thread label from within the primarymessaging interface 2100. Option (b) may not provide the user with allof the options available via the different screen (e.g., the add phototo create thumbnail feature, the thread description feature, etc.), butmay at least provide the user with a mechanism to define the name of anew thread label without having to navigate away from the primarymessaging interface 2100. Later, a user may navigate to a differentscreen to edit the thread label previously created via the threadselector bar. Thread label creator 2120 may be presented on GUI 2000even though no thread labels have been created.

Once the user has created a thread label, the created thread label mayappear in thread bar 2103, indicating to the user that any message sentwhile the given thread label is selected will be associated with thegiven thread label in the global conversation feed.

FIG. 2A also depicts a thread label viewing/filtering button (“TLVF”button) 2111 which, upon selection by a user, allows the user tonavigate to one or more of: (a) a listing of previously created threadlabels, and (b) a secondary messaging interface to allow the user toview only messages that have been associated with a particular threadlabel. In some embodiments, the user, upon selection of a TLVF button,is taken first to a listing of previously created thread labels, andthen upon an additional selection of a given thread label from withinthe listing, is taken to the secondary messaging interface to allow theuser to view only the messages that have been dynamically associatedwith the selected thread label. That is, the secondary messaginginterface may provide a filtered view of a conversation between the userand a given recipient or group of recipients. The filtered view showingonly those messages that have been associated with a particular threadlabel, and removing from view the messages within the conversation thatare not associated with a particular thread label.

FIG. 2B illustrates an example thread label creation interface 2200(provided via threading component 1042 of system 1000) as may beimplemented in accordance with one or more embodiments of the presentdisclosure. Such an interface may also be referred to herein as the “NewThread” screen, as it has been labeled in FIG. 2B at numeral 2201. Auser may navigate to the thread label creation interface 2200 (or “NewThread” screen) to provide input and create a new thread label that maybe associated with one or more messages. As shown in FIG. 2B, threadlabel creation interface 2200 may include a thread name field 2202 wherea user may enter the name of a thread label that he or she would like tocreate (for example, by providing input via QWERTY keyboard 2206).Thread label creation interface 2200 may also include a descriptionfield 2203 where a user may enter a description of the thread label asdesired. In some instances, a user may provide a description of thethread label to assist other participants in the conversation indetermining which of their messages that they send in that conversationshould or should not also be associated with the same thread label. Insome embodiments, the thread label creation interface 2200 may provide auser with the option to select a photo to serve as the wallpaperbackground for the secondary messaging interface that displays themessages associated with the thread label being created (e.g., insteadof the secondary messaging interface having a solid or otherwise plainbackground, the background could be comprised of a photo selected by auser).

Further, in some embodiments, thread label creation interface 2200 mayprovide a user with options to customize other elements of the secondarymessaging interface, such as the color, size, shape, or emphasis of thevarious elements on the secondary messaging interface (e.g., the send,camera and other icons, the color of the message bubbles, etc.) in orderto be more relevant to or reflective of the topic or purpose of thethread label. For example, when a user creates a thread label, fromthread label creation interface 2200 or from a different interface, theuser could set a color parameter to “red” (causing one or more elementson the secondary messaging interface to be displayed in a red colorinstead of a default color for all (or select) participants to theconversation). Further, if a custom color or color scheme is associatedby a user with a particular thread label, then on the primary messaginginterface, messages associated with that thread label may be displayedin that color for all participants to the conversation to make it morereadily apparent that those messages have been associated with thatthread label, and further to distinguish them from messages associatedwith a different thread label or no thread label at all. In someembodiments, a user may select a color (or other customizable visualparameter) to be associated with a thread label at the time the threadlabel is created, or subsequent to its creation (e.g., from a threadedit interface).

As further shown, thread label creation interface 2200 may enable a userto select an image or photo to associate with the given thread label by,for example, tapping on “Add Photo” button 2204. The image or photo theuser selects may be provided as a thumbnail in connection with thethread label and may replace the default thumbnail 2205. In someembodiments, upon providing the desired input into the “New Thread”screen, a user may execute the creation and storage of the thread labelwithin system 1000 by pressing create icon 2207. Once created, threadlabels may appear within a segment of the primary messaging interface2100 such that a user may select one or more of the thread labels toassociate with a given message. Such an example is shown in FIG. 2C.

FIG. 2C illustrates an example primary messaging interface 2100 afterone or more thread labels have been created for a given conversation, asmay be implemented in accordance with one or more embodiments of thepresent disclosure. The two parties to the given example conversationreferred to in FIG. 2C (as well as in FIGS. 2D-7) will be, by way ofexample, a couple named Trevor (husband) and Michaela (wife) who havetwo children (Clayton and Rose) and drive a Honda Odyssey. FIG. 2Cdepicts how an example primary messaging interface 2100 may appear toTrevor when composing his first draft message to Michaela (as denoted byrecipient identifier 2109). The previously created thread labelsprovided for user selection in thread selector bar 2123 may include, forexample, “Kids,” “Clay,” “Rosie,” and “Odyssey Maintenance,” amongothers. Such thread labels may have been created by any party to aconversation, in this example, Trevor or Michaela.

As shown, a thread selector bar 2123 may be provided in primarymessaging interface 2100 such that a user (here, Trevor) may select oneor more of the thread labels previously created to associate withmessages (e.g., by tapping on the thread label the user wishes toassociate with a designated message). In some embodiments, it may beundesirable to display all of the previously created thread labels atonce, and in such embodiments a user may optionally scroll through thepreviously created thread labels by swiping his or her finger (e.g.,left or right, up or down, etc.) along the thread selector bar 2123.Also, in some embodiments a thread label may have a lengthy name, and insuch embodiments the lengthy name may be abbreviated, truncated orotherwise condensed when displayed for user selection in thread selectorbar 2123. An example of this is shown in FIG. 2C, where the thread label“Odyssey Maintenance” has been truncated with an ellipsis.

In addition to thread selector bar 2123, primary messaging interface2100 may also include another thread label creator 2120 which, whenselected by a user, may either (a) navigate the user to the thread labelcreation interface 2200 where the user could create a new thread labelor (b) allow the user to create a new thread label from within theprimary messaging interface 2100. Option (b) may not provide the userwith all of the options available via the thread label creationinterface 2200 (e.g., the add photo to create thumbnail feature, thethread description feature, etc.), but may at least provide the userwith a mechanism to define the name of a new thread label without havingto navigate away from the primary messaging interface 2100. Later, auser may navigate to the thread label creation interface 2200, or asimilar interface, to edit the thread label previously created via thethread selector bar.

Once a user has selected a thread label, the selected thread label mayappear in thread bar 2103, indicating to the user that any message sentwhile the given thread label is selected will be associated with thegiven thread label in the global conversation feed. An example selectionis shown in FIG. 2D. If a user has selected a thread label but thendecides that one or more different thread labels, or no thread label atall, should be associated with a message that has been composed but notyet transmitted, the user may either (a) tap on thread clear button 2114which may cause (i) the already selected thread label displayed inthread bar 2103 to be cleared or removed and (ii) thread selector bar2123 (from FIG. 2C) to be displayed from which the user may then selectone or more different thread labels or no thread label at all, or (b)tap on threading button 2105 which may remove the already selectedthread label from thread bar 2103 and dismiss thread bar 2103 and threadclear button 2114 altogether. Further, in some embodiments, thread bar2103 may only appear after a thread label has been selected from thethread selector bar 2123.

FIG. 2D illustrates an example primary messaging interface 2100 after acreated thread label has been selected such that it is associated withthe outgoing message being composed, in accordance with one or moreembodiments of the present disclosure. As shown, the thread label “Kids”has been selected by the user (Trevor) and now appears in thread bar2103. In this example, it appears that Trevor has selected thread label“Kids” because his message pertains to both of his children. Thus, uponpressing send button 2107, Trevor's message 2130 as composed in messagecomposition zone 2102 will be transmitted to Michaela's computing device(e.g., smartphone, tablet, etc.), and displayed in a conversation panewithin primary messaging interface 2100 on Trevor's computing device(e.g., smartphone, tablet, etc.).

One of ordinary skill in the art will appreciate that electronicmessages may include one or more of text, photos, videos, graphics, andother multimedia (e.g., GIFs) as may exist from time to time and thatusers may send to each other through electronic messaging. Here, themessage includes a photo with corresponding text. It should also beappreciated that, although not explicitly shown in FIG. 2D, in someinstances a user may select more than one thread label to associate witha given message. For example, because Trevor's message to Michaelapertains to both children, Clay and Rose, Trevor may have also selectedthe thread label “Clay” as well as the thread label “Rose” instead of,or in addition to, the thread label “Kids.” Of course, users may selectany previously created thread labels to associate with their messagesfor any reason or based on any criteria—e.g., the description of thethread label, a common understanding between the parties to theconversation about what the thread label means or implies, an individualunderstanding of the meaning of a term within the name of the threadlabel, etc. As noted, upon pressing send button 2107, Trevor's message2130 as composed in message composition zone 2102 will be transmitted toMichaela's computing device (e.g., smartphone, tablet, etc.) and may bedisplayed in the conversation pane within the primary messaginginterface 2100 on Trevor's computing device (e.g., smartphone, tablet,etc.). Similarly, Trevor's message 2130 will be transmitted such that itmay be displayed in a complementary conversation pane within a primarymessaging interface at Michaela's computing device (e.g., smartphone,tablet, etc.).

FIG. 2E illustrates an example primary messaging interface at thecomputing device of the recipient (here, Michaela) receiving theoutgoing message (from Trevor) shown in FIG. 2D. As shown, Trevor'smessage 2130 including the photo and text may appear in a complementaryconversation pane 2140 on Michaela's computing device. Trevor's message2130 may be labeled with the thread label “Kids” within conversationpane 2140 for Michaela's viewing (the label is not shown in FIG. 2E dueto space constraints, but an example of labeling is shown in FIG. 2F asto Michaela's response to Trevor's message). Furthermore, therecipient's computing device may automatically select the thread labelassociated with the sender's message, such that the same thread label isassociated with the recipient's response to the sender's originalmessage.

FIG. 2E provides an example illustration of an embodiment where thethread label of the received message is automatically selected forassociation with the recipient's responsive message. As shown, sinceTrevor selected the “Kids” thread label to be associated with hismessage 2130 to Michaela, the same thread label may be automaticallyselected (and provided in thread bar 2103 shown on the primary messaginginterface 2100 at Michaela's computing device) and associated withMichaela's message 2131 in response. In some embodiments, the automatedselection of a thread label may only occur with respect to messages sentor received within a predetermined timeframe. In some embodiments, arecipient may change, remove, or modify the automatically selectedthread label(s). And in still further embodiments, no automaticselection operation may be performed by system 1000 at all, and in suchembodiments the recipient may manually associate the same, different, orno thread label to his or her response to a sender's message that wasassociated with a thread label.

If a thread label has been automatically selected but the user decidesthat one or more different thread labels, or no thread label at all,should be associated with a message that has been composed but not yettransmitted, the user may either (a) tap on thread clear button 2114which may cause (i) the automatically selected thread label displayed inthread bar 2103 to be cleared or removed and (ii) thread selector bar2123 (from FIG. 2C) to be displayed from which the user may then selectone or more different thread labels or no thread label at all, or (b)tap on threading button 2105 which may remove the automatically selectedthread label from thread bar 2103 and dismiss thread bar 2103 and threadclear button 2114 altogether.

FIG. 2F illustrates an example primary messaging interface at thesmartphone of the original recipient (Michaela) after receiving andresponding to the outgoing message 2130 from Trevor with theautomatically selected “Kids” thread label associated with the response.As shown, Michaela's responsive message 2131 bears the thread label“Kids” (denoted by the “Kids” label in typeface above a line over thetext and graphics in message 2131). As further shown in FIG. 2F,Michaela may compose another message that completely changes the topicof conversation, and further may associate a different thread label, orno thread label at all, with her outgoing message (and vice versa forTrevor).

FIG. 2G illustrates an example message 2132 that Trevor might send toMichaela after Michaela has sent message 2131 to Trevor, but which isnot associated with any thread label at all (either because Trevordisassociated his next message from the “Kids” label if anauto-selection feature was triggered, or because Trevor never selected athread label to be associated with his response and no auto-selectionfeature was triggered). As may be seen, Trevor's message 2132 does notbear the “Kids” thread label that message 2131 bears, nor does it bearany thread label at all. Thus, as shown, in some embodiments a globalconversation feed displayed in a conversation pane of the presentdisclosure may simultaneously include messages including the same threadlabels, different thread labels, or no thread labels at all betweenparties to a conversation. However, in other cases users may not wish tosee both threaded and unthreaded messages in the same conversation feed(a global conversation feed), and may instead wish the primary messaginginterface to show only unthreaded messages (a limited conversationfeed). An optional modified primary messaging interface may be madeavailable to a user for this purpose, discussed in more detail inconnection with FIGS. 4A-B).

In some embodiments, the technology of the present disclosure allowsparties to a conversation to use thread labels to categorize subsets oftheir global conversation feed to various topics about which they arereferring in a given subset of back-and-forth messages. A user maythereby more seamlessly view a conversation about a particular topic ina streamlined context (e.g., without seeing interwoven messages aboutdifferent topics), and search for a particular message with more easeand organization, among other various advantages. For example, supposeTrevor wishes to refer back to a particular message that Michaela senthim about the “Kids.” Instead of scrolling back through the entireglobal conversation feed between he and Michaela, Trevor may more easilysearch for and locate the message by, for example, selecting TLVF button2111 to view a filter interface showing all of the previously createdthread labels that have been established between he and Michaela, thenselecting the “Kids” thread label to filter out all the non-“Kids”labeled messages such that he sees only those messages associated withexchanges pertaining to the “Kids.”

FIG. 2H illustrates an example filtered interface 2300 where a user mayview all thread labels created within a particular conversation, selecta previously created thread label of interest and view only messages inthe conversation that are associated with the selected thread label(e.g., in a filtered conversation interface, also referred to herein asa secondary messaging interface). As shown in FIG. 2H, Trevor andMichaela have created ten thread labels (thread labels 2360-2369). Thus,for example, if as noted above Trevor is searching for a messagepertaining to the “Kids” thread label, he may select the “Kids” threadlabel 2360 via filter interface 2300 to navigate to a filteredconversation interface (also referred to herein as a secondary messaginginterface) showing only those messages associated with the “Kids” threadlabel. Before discussing in detail the secondary messaging interfacefeatures of the present disclosure, it should be noted here withreference to FIG. 2H that some of the thread labels have been definedwith photos provided as thumbnail images (e.g., thread labels2360-2362), and others have not been so defined and have instead beengiven a default thumbnail image (e.g., thread labels 2363-2369). One ofordinary skill in the art will appreciate that customizable thumbnailsmay, but need not, be used in any given implementation of embodiments ofthe presently disclosed technology.

In some embodiments, the list of thread labels in such an examplefiltered interface 2300 may be organized alphabetically, by number ofunread messages (e.g., thread label with the most unread messagespositioned furthest to the top, followed by thread labels in order ofdecreasing number of unread messages proceeding below), or by mostrecent activity (e.g., most active thread label positioned furthest tothe top, followed by thread labels in order of decreasing activityproceeding below).

In some embodiments, thread label thumbnails (or other graphics) shownin the list of thread labels may include dynamic counters providing auser with insight as to the number of unread messages that have beenassociated with the corresponding thread label. In some embodiments,thread label thumbnails (or other graphics) shown in the list of threadlabels (or elsewhere) that have unread messages may be outlined with adifferent color (e.g., outlined in red or another specific color, orcolor scheme, selected by a user to be associated with that threadlabel) to differentiate such thread labels from those that have nounread messages.

Referring still to FIG. 2H, if a user desires to create a new threadlabel, the user may select thread creator 2301 which may navigate theuser to the “New Thread” screen referred to above. Further, a user maysearch for thread labels by using search bar 2302. Upon the occurrenceof such a text search, filtering component 1043 may present a limitedview of the thread labels, the limited view showing only those threadlabels associated with a message that contains the text the user enteredas part of the user's search query and/or those thread labels with namesthat contain the text the user entered as part of the user's searchquery.

Referring now to FIG. 2I, this figure illustrates an example secondarymessaging interface 2400 where system 1000 may provide a filtered viewof a conversation between parties that pertain to a particular threadlabel. Extending the example above, suppose that Trevor's and Michaela'sentire conversation feed (accessible through conversation pane 2140 inthe primary messaging interface 2100) included over 500 messages—many ifnot all of which have been associated with at least one of the threadlabels shown in FIG. 2H—but only three of those messages (those shown inFIGS. 2D-2F) were associated with the “Kids” thread label. Thus, ifTrevor selects the “Kids” thread label 2360 on filter interface 2300,his computing device may navigate to a secondary messaging interfacethat shows only those three messages that have been associated with the“Kids” thread label. FIG. 2I depicts an example secondary messaginginterface 2400 displaying only those messages that have been associated(by either party to the conversation) with the “Kids” thread label.

Secondary messaging interface 2400 may also include a conversation pane2470 where messages associated with a particular thread label, that havealready been transmitted between users in the conversation, may appear.The conversation pane 2470 of secondary messaging interface 2400 maydisplay all or part of the messages associated with a particular threadlabel, such as the messages that have been associated with the “Kids”thread label, shown in FIG. 2I. In some embodiments, a user may scrollupward or downward within conversation pane 2470 to view more recent orolder messages.

As further shown in FIG. 2I, secondary messaging interface 2400 mayinclude a thread label identifier 2460 which identifies the thread labelassociated with the secondary messaging interface. Thread labelidentifier 2460 may include any type of alphanumeric characters,graphics, and/or any symbolic identifiers as desired. FIG. 2I depicts anexample thread label identifier 2460 for a thread label entitled “Kids”that a user has selected a photo to be associated with.

In some embodiments, a user may decide to send a message entirely withinthe secondary messaging interface 2400 (for ease of viewing, or torespond to a particular message that was much earlier in the globalconversation feed that the user does not want to go back and find in theglobal conversation on the primary messaging interface, etc.). As shownin FIG. 2I, a user may employ messaging tools 2401 within the secondarymessaging interface to send a message that will automatically beassociated with the thread label of the given secondary messaginginterface (i.e., without the user having to take an extra step toassociate or re-associate the message with the thread label by virtue ofbeing sent from within the secondary messaging interface instead of theprimary messaging interface). A message sent from the secondarymessaging interface may also automatically be displayed on the primarymessaging interface with a heading indicating that the message sent fromthe secondary messaging interface is associated with the thread labelassociated with the secondary messaging interface.

In some embodiments, a user may remove, change, and/or add a threadlabel associated with a message after the message has been transmittedto a recipient. For instance, FIG. 2J illustrates an example primarymessaging interface where a user may remove a thread label from apreviously sent message already associated with a thread label. In someembodiments the primary messaging interface may, responsive to a userpressing and holding on a message that has already been transmitted,present the user with one or more post-transmission options. Forexample, as shown in FIG. 2J, post-transmission options 2180 may includea thread label deletion button 2181, a thread label addition button2182, a message forward button 2183, and/or a message share button 2184.The thread label deletion button 2181 may be configured, upon selection,to disassociate from a designated message a previously associated threadlabel. Thread label addition button 2182 may be configured, uponselection, to associate a designated message with a thread label thatwas not then associated with the designated message. Message forwardbutton 2183 may be configured, upon selection, to enable the user toforward a selected message to another recipient connected with system1000. Message share button 2184 may be configured, upon selection, toenable the user to share a selected message through connection toanother communication platform (e.g., email, a different messaging app,Facebook, etc.). It should be appreciated that the threading componentof system 1000 enables users to associate and disassociate one or morethread labels with one or more messages, and further, that anyassociation or disassociation by a user will be reflected on the devicesof all participants to a conversation. In some embodiments, thepost-transmission options may include a thread label switching buttonthat would allow a user to disassociate a message from a particularthread label and select a different thread label to associate with themessage. In some embodiments, users would be able to select multiplemessages at a time and select a post-transmission option to, forexample, associate multiple messages at the same time with the samethread label.

In some embodiments, the aforementioned post-transmission options may,alternatively or additionally, be made available to a user through otherinterfaces of the present disclosure, for example, secondary messaginginterfaces, multimedia interfaces (e.g., thread label associated albuminterface shown in FIG. 7), opening interfaces, or any other interfacesof the present disclosure.

In some embodiments, thread bars or other elements of the primarymessaging interface may dynamically respond to user interaction with athread label. For example, a user tapping on a thread label associatedwith a message may cause the thread bar to become populated with thethread label, or combination of thread labels, associated with thetapped message. Referring back to FIG. 2F, for instance, when a usertaps thread label 2135 associated with message 2131, thread bar 2103may, without any further user action, become populated with the threadlabel, here “Kids,” such that the user's next message will be associatedwith the “Kids” thread label without further navigation by the user.

In another example of dynamic responses to user interactions with threadlabels, a user may press and hold on a thread label, and in responsethereto the user may be navigated to the secondary messaging interfaceor a filtered conversation interface that only contains messages thathave been associated with the thread label. Referring back to FIG. 2F,for instance, when a user presses and holds thread label 2135 associatedwith message 2131, the user may be navigated to a secondary messaginginterface or a filtered conversation interface associated with the“Kids” thread label.

FIG. 2K illustrates an extension of the example primary messaginginterface in FIG. 2J, where a user may not only be enabled to remove athread label from a previously sent message already associated with athread label (or perform any of the other previously describedpost-transmission options), but may also be enabled to react to orotherwise emphasize a message using emoticons or other graphicalelements. For instance, in some embodiments the primary messaginginterface or the secondary messaging interface may, responsive to a userpressing and holding on a message that has already been transmitted,present the user with one or more reaction options 2490 to associate areaction to such message (which may be propagated to the other users inthe conversation).

It will be appreciated that the layout of features and functionalitydisclosed herein is not intended to be limiting. For example any one ormore of the thread bar 2103, thread label creator 2120, thread adder2104, and/or thread bar 2123 introduced with reference to FIGS. 2C-D maybe implemented, additionally or alternatively, using a different layout.For example, FIG. 2L illustrates an example interface where such threadcreation, viewing, and adding features are made available in the form ofa thread bar 2143 near the top of the messaging interface, including athread label creator 2140. Though shown alone in FIG. 2L, thread bar2143 may be presented on any interface within the mobile application(e.g., primary messaging interface, secondary messaging interface,etc.), alone or in addition to other thread label tools (e.g., threadbar 2103, thread label creator 2120, thread adder 2104, and/or threadbar 2123) made available in other zones of such interfaces. Thread bar2143 may be responsive to user gestures, including but not limited to: auser swiping left or right along the bar to scroll or otherwise navigatethrough thread labels, or tapping in the space above, on, or near threadbar 2143 to hide or reveal the thread bar 2143 within the interfaceview. For example, in some embodiments, thread bar 2143 automaticallyappears whenever a user accesses the primary messaging interface, andmay be easily dismissed by tapping in the blank space in the header (orother designated space), scrolling up/down through the chat history, orby tapping in message composition zone 2102. In some embodiments, if thethread bar 2143 is hidden/collapsed, tapping in the blank space in theheader (or other designated space) may cause the thread bar 2143 toreappear.

In some embodiments, thread bar 2143 may display existing thread labels(e.g., using a thumbnail, text, or other graphic) organizedalphabetically, by number of unread messages (e.g., thread label withthe most unread messages positioned furthest to the left, followed bythread labels in order of decreasing number of unread messagesproceeding to the right), or by most recent activity (e.g., most activethread label positioned furthest to the left, followed by thread labelsin order of decreasing activity proceeding to the right).

In some embodiments, thread label thumbnails (or other graphics) shownin thread bar 2143 may include dynamic counters (e.g., counter 2145,2146) providing a user with insight as to the number of unread messagesthat have been associated with the corresponding thread label. In someembodiments, thread label thumbnails (or other graphics) shown in threadbar 2143 (or elsewhere) that have unread messages may be outlined with adifferent color (e.g., outlined in red or another specific color, orcolor scheme, selected by a user to be associated with that threadlabel) to differentiate such thread labels from those that have nounread messages. In still further embodiments, a dynamic counter (e.g.,counter 2147) displayed on or near thread label viewing/filtering button(“TLVF” button) 2111 may provide a total count of unread messagesassociated with at least one thread label.

A user may navigate from the primary messaging interface 2100 to asecondary messaging interface associated with the thread label byselecting the thread label of interest from thread bar 2143.

FIG. 2M illustrates an example opening interface including an overviewof recent users with whom the user has sent and/or received messageswith, including thread label indications of recently received messagesin accordance with various embodiments of the present disclosure. Asshown, opening interface 2500 may include a listing or other indicationof other users with whom messages have been received and/or transmitted.For instance, as shown, the user of the device shown (e.g. Trevor, fromthe aforementioned examples) has recently received and/or transmittedmessages to other users named Michaela, John, and Penny. The listing orother indication may also include one or more of: a message preview 2534showing all or a portion of a recent message sent to or received fromthe user (here, showing the last message received from Michaela); athread label 2535 associated with a recent message sent to or receivedfrom the user (here, showing that Michaela's last message has beenassociated with the “Kids” thread label, so the thread label 2535appears within the listing); an unread message counter 2536 providing auser with insight as to the number of unread messages sent fromMichaela; a time or date indicator 2537 providing a user with insight asto the date/time at which the most recent message was sent or received.In some embodiments, opening interface 2500 may optionally be presentedwithin GUI 2000 upon a user initially opening or reopening the mobileapplication on their mobile computing device.

In some embodiments, the listing displayed in such an example openinginterface 2500 may be organized alphabetically, by number of unreadmessages (e.g., ordering the listing of users such that user associatedwith the most unread messages is positioned furthest to the top,followed by other in order of decreasing number of unread messagesproceeding below), or by most recent activity (e.g., most active userspositioned furthest to the top, followed by other users in order ofdecreasing activity proceeding below), or by date/time of receivedand/or sent messages (e.g., user associated with the most recently sentmessage positioned furthest to the top, followed by other uses in orderof most recent message timing).

FIG. 3A illustrates another example primary messaging interface at thephone of a user (here, at Michaela's phone from the above example) whereit may be seen that the conversation pane showing all the messagesbetween the parties to a conversation may include messages associatedwith different thread labels. As may be seen, the conversation paneshown includes messages associated with the “Thanksgiving2017,” “OdysseyMaintenance,” and “Rose” thread labels. Even though not shown in FIG.3A, as noted elsewhere herein, messages that have not been associatedwith any thread label may also be displayed in the primary messaginginterface (e.g., as in the global conversation feed noted above). FIG.3B illustrates an example secondary messaging interface, similar to thatshown in FIG. 2I, where system 1000 may provide a filtered view of theconversation between the parties that pertains to a user selected threadlabel—here, the “Odyssey Maintenance” thread label.

FIG. 4A illustrates an example modified primary messaging interface 4100shown within a Graphical User Interface (GUI) 4000 of a mobileapplication running on an example mobile computing device, as may beimplemented in accordance with one or more embodiments of the presentdisclosure. As noted in connection with FIG. 1, in some alternativeembodiments messaging component 1041 may be configured to provide a userwith an optional modified primary messaging interface, where themodified primary messaging interface provides a quasi-unfiltered view ofthe messages within a conversation instead of an entirely unfilteredconversation view (as in the primary messaging interface examplesdiscussed above). A quasi-unfiltered view of a conversation with aparticular user or group of users may include messages transmittedback-and-forth between the users that have not been associated with athread label, but excludes the messages that have been associated with athread label. Quasi-unfiltered refers to the idea that the messagesshown in the feed are not filtered in favor of a particular threadlabel, but instead are filtered to show only those messages with nothread label at all. The modified primary messaging interface may beconsidered a different operating “mode” of a primary messaginginterface. Said differently, the primary messaging interface discussedwith reference to FIGS. 1-3B may be considered a first mode (or a“global mode”), and the modified primary messaging interface discussedwith reference to FIGS. 4A-4B may be considered a second mode (or a“limited mode”).

As shown in FIG. 4A, modified primary messaging interface 4100 may showonly those messages that are unthreaded. As such, in some instances auser may need to navigate to a secondary messaging interface associatedwith a designated thread label to send messages within that threadlabel. The modified primary messaging interface 4100 may include amessage composition zone 4102 wherein a user may compose a regular(i.e., unthreaded) message to one or more recipients by providing inputthrough one or more input tools. Such input tools may include any suchinput tools discussed with reference to FIGS. 2A-2J, including by way ofexample, a QWERTY keyboard, a multimedia (e.g., photos, graphics,videos, GIFs etc.) selection tool, a thread label creator, a voice notecreation tool, a location sending tool, an audio file attachment tool, asend button, among other tools. When regular messages are sent andreceived, they appear in the modified primary messaging interface 4100,just as the example messages 4130, 4131, and 4132 shown in FIG. 4A. Notethat no threaded messages show up in the conversation feed of themodified primary messaging interface. In this way, the conversation feedis limited, or may be said to be operating in a limited mode. Themodified primary messaging interface may operate dynamically, such thatmessages originally not associated with a thread label but that laterbecome associated with a thread label may be removed from theconversation feed of the modified primary messaging interface.

For example, if after sending message 4131, Michaela associates message4131 with the “Kids” thread label (introduced above), message 4131 willbe automatically removed from the conversation feed of the modifiedprimary messaging interface and moved into a secondary messaginginterface that Michaela may access to view only the messages that havebeen dynamically associated with the “Kids” thread label. FIG. 4Billustrates a view of the modified primary messaging interface 4100after message 4131 has been associated with a thread label. Note thatmessage 4131 has been removed and only those messages that areunassociated with a thread label appear in the feed (e.g., message 4130,message 4132). Similarly, if after associating a message with a threadlabel, a user decides to disassociate the message from all threadlabels, the message may be repopulated within modified primary messaginginterface 4100.

It should be understood that, except as to the global conversation viewand the automatic thread label selection features, any of the otherfeatures discussed with reference to a primary messaging interfaceherein may be implemented with respect to a modified primary messaginginterface. It should further be appreciated that any of the featuresdiscussed herein may be implemented as options at setup, or by default,and/or with alternatives available as options. For example, embodimentsof the present disclosure may be provided as a mobile application thatis by default set to operate in a limited mode with a modified primarymessaging interface (e.g., 4100) instead of a global mode with astandard primary messaging interface (e.g., 2100), or vice versa, withthe other option available for selection by the user. In other examples,embodiments of the present disclosure may be provided such that the usermay select a limited mode as to conversations with one subset of otherusers, but a global mode as to conversations with other sets of users.That is, in one embodiment, the mobile application may selectivelyprovide a primary messaging interface, a modified primary messaginginterface, and various secondary messaging interfaces, based on a user'spreferences.

FIG. 5 illustrates an example account profile interface as may beimplemented in accordance with one or more embodiments of the presentdisclosure. As shown, a user may access an account profile interfacewhere the user may change one or more settings prescribing how one ormore features of the present disclosure may operate. For example, asshown, a user may turn notifications on or off, notification messagepreviews on or off, thread auto selection on or off, change the phonenumber associated with his or her account, or delete his or her useraccount, and/or add a photo to use as a thumbnail. The thread autoselection feature automatically selects the thread label associated withthe last message sent or received and associates the same thread labelwith responsive message(s) sent by the recipient within a predeterminedperiod of time.

In some embodiments, a user may mute notifications for a select periodof time for a given user or group, as shown in FIG. 6 (e.g., optionalnotification muting for messages sent from Michaela's contact, Trevor,for user selectable periods of time). In other words, a user may controlnotifications regarding messages received from a particular user orgroup, as may be implemented in accordance with one or more embodimentsof the present disclosure.

In some embodiments, a user may mute notifications for a select periodof time for any messages received from another user or group that areassociated with a particular thread label (e.g., optional notificationmuting for messages sent from Michaela's contact, Trevor, that areassociated with the “Kids” thread label for user selectable periods oftime). In other words, a user may control notifications regardingmessages received from a particular user or group that are associatedwith a particular thread label while still receiving notifications formessages received from the user or group that are not associated withthat thread label, as may be implemented in accordance with one or moreembodiments of the present disclosure.

In some embodiments, a user may mute notifications for a select periodof time for any messages received from another user or group that arenot associated with any thread label (e.g., optional notification mutingfor messages sent from Michaela's contact, Trevor, that have not beenassociated with any thread label for user selectable periods of time).In other words, a user may control notifications regarding messagesreceived from a particular user or group that are not associated withany thread label while still receiving notifications for messagesreceived from the user or group that are associated with one or morethread labels, as may be implemented in accordance with one or moreembodiments of the present disclosure.

In some embodiments, filtering component 1043 may be configured toprovide a multimedia interface wherein an album of the photos exchangedin a given conversation that are associated with a particular threadlabel may be displayed. That is, the filtering component 1043 mayprovide a view that filters out all messages other than those themessages that contain photos that have been exchanged between theparticipants to a given conversation that have been associated with theparticular thread label. FIG. 7 illustrates an exemplary album that maybe provided for a given thread label, here for the “Kids” thread label,as may be implemented in accordance with one or more embodiments of thepresent disclosure.

In some embodiments, messages sent in succession by a user that have allbeen associated with the same thread label may appear linked (e.g., themessage bubbles for each such message could be touching, rather thanbeing separated) with only the message first sent in the seriesincluding the thread label. The linked appearance of the messages insuch a series of messages may inform the users to the conversation thatall of those messages have been associated with that particular threadlabel without having to repeat the thread label for each message in suchseries.

FIG. 8 illustrates an example method 700 that may be implemented inaccordance with one or more embodiments of the present disclosure. Asshown, at operation 702, method 700 may include receiving a userselection of a recipient to whom to send a message. At operation 704,method 700 may include creating a plurality of thread labels toassociate with messages to be sent to the recipient. At operation 706,method 700 may include associating, responsive to user selection, one ormore of the created thread labels with one or more messages sent to orreceived from the recipient. At operation 708, method 700 may includeproviding, responsive to a user selection of a filter tool associatedwith a thread label, an interactive view of only those messages sent toor received from recipient that are associated with the thread label.

FIG. 9 illustrates an example method 800 that may be implemented inaccordance with one or more embodiments of the present disclosure. Asshown, at operation 802, method 800 may include receiving a selection bya first user of a first message via a first computing device, the firstmessage including either a message previously transmitted by the firstuser to a second user having a second computing device, or a messagepreviously received by the first user from a second user via theirrespective computing devices. At operation 804, method 800 may includeexecuting, responsive to the selection of a thread label modificationtool, one or more commands to cause one or more of an addition, adeletion, or a change in association of the first message with apredefined thread label. At operation 806, method 800 may includepropagating said addition, deletion, or change of thread labelassociated with the first message to the second computing device.

While some embodiments above are discussed in relation to messagingapplications, the technology can be applied similarly to otherplatforms, such as note taking. In an example note taking embodiment, anote taker may be able to label some notes in a document using a firstthread label, while labeling other notes on the same document using asecond thread label. A note taker may thus be able to associate,de-associate, and re-associate the notes with thread labels. Thesethread labels, and the associated notes, may be shareable to otherusers. Other details discussed above would be applied equally in thiscontext.

As used herein, the term component might describe a given unit offunctionality that can be performed in accordance with one or moreembodiments of the technology disclosed herein. As used herein, acomponent might be implemented utilizing any form of hardware, software,or a combination thereof. For example, one or more processors,controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components,software routines or other mechanisms might be implemented to make up acomponent. In implementation, the various components described hereinmight be implemented as discrete components or the functions andfeatures described can be shared in part or in total among one or morecomponents. In other words, as would be apparent to one of ordinaryskill in the art after reading this description, the various featuresand functionality described herein may be implemented in any givenapplication and can be implemented in one or more separate or sharedcomponents in various combinations and permutations. Even though variousfeatures or elements of functionality may be individually described orclaimed as separate components, one of ordinary skill in the art willunderstand that these features and functionality can be shared among oneor more common software and hardware elements, and such descriptionshall not require or imply that separate hardware or software componentsare used to implement such features or functionality.

Where components of the technology are implemented in whole or in partusing software, in one embodiment, these software elements can beimplemented to operate with a computing or processing component capableof carrying out the functionality described with respect thereto. Onesuch example computing component is shown in FIG. 10. Variousembodiments are described in terms of this example computing component900. After reading this description, it will become apparent to a personskilled in the relevant art how to implement the technology using othercomputing components or architectures.

Referring now to FIG. 10, computing component 900 may represent, forexample, computing or processing capabilities found within desktop,laptop and notebook computers; hand-held computing devices (PDA's, smartphones, cell phones, palmtops, etc.); mainframes, supercomputers,workstations or servers; or any other type of special-purpose orgeneral-purpose computing devices as may be desirable or appropriate fora given application or environment. Computing component 900 might alsorepresent computing capabilities embedded within or otherwise availableto a given device. For example, a computing component might be found inother electronic devices such as, for example, digital cameras,navigation systems, cellular telephones, portable computing devices,modems, routers, WAPs, terminals and other electronic devices that mightinclude some form of processing capability.

Computing component 900 might include, for example, one or moreprocessors, controllers, control modules, or other processing devices,such as a processor 904. Processor 904 might be implemented using ageneral-purpose or special-purpose processing engine such as, forexample, a microprocessor, controller, or other control logic. In theillustrated example, processor 904 is connected to a bus 902, althoughany communication medium can be used to facilitate interaction withother components of computing component 900 or to communicateexternally.

Computing component 900 might also include one or more memory modules,simply referred to herein as main memory 908. For example, preferablyrandom access memory (RAM) or other dynamic memory, might be used forstoring information and instructions to be executed by processor 904.Main memory 908 might also be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 904. Computing component 900 might likewiseinclude a read only memory (“ROM”) or other static storage devicecoupled to bus 902 for storing static information and instructions forprocessor 904.

The computing component 900 might also include one or more various formsof information storage device 910, which might include, for example, amedia drive 912 and a storage unit interface 920. The media drive 912might include a drive or other mechanism to support fixed or removablestorage media 914. For example, a hard disk drive, a floppy disk drive,a magnetic tape drive, an optical disk drive, a CD or DVD drive (R orRW), or other removable or fixed media drive might be provided.Accordingly, storage media 914 might include, for example, a hard disk,a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, orother fixed or removable medium that is read by, written to or accessedby media drive 912. As these examples illustrate, the storage media 914can include a computer usable storage medium having stored thereincomputer software or data.

In alternative embodiments, information storage device 910 might includeother similar instrumentalities for allowing computer programs or otherinstructions or data to be loaded into computing component 900. Suchinstrumentalities might include, for example, a fixed or removablestorage unit 922 and an interface 920. Examples of such storage units922 and interfaces 920 can include a program cartridge and cartridgeinterface, a removable memory (for example, a flash memory or otherremovable memory module) and memory slot, a PCMCIA slot and card, andother fixed or removable storage units 922 and interfaces 920 that allowsoftware and data to be transferred from the storage unit 922 tocomputing component 900.

Computing component 900 might also include a communications interface924. Communications interface 924 might be used to allow software anddata to be transferred between computing component 900 and externaldevices. Examples of communications interface 924 might include a modemor softmodem, a network interface (such as an Ethernet, networkinterface card, WiMedia, IEEE 802.XX or other interface), acommunications port (such as for example, a USB port, IR port, RS232port Bluetooth® interface, or other port), or other communicationsinterface. Software and data transferred via communications interface924 might typically be carried on signals, which can be electronic,electromagnetic (which includes optical) or other signals capable ofbeing exchanged by a given communications interface 924. These signalsmight be provided to communications interface 924 via a channel 928.This channel 928 might carry signals and might be implemented using awired or wireless communication medium. Some examples of a channel mightinclude a phone line, a cellular link, an RF link, an optical link, anetwork interface, a local or wide area network, and other wired orwireless communications channels.

In this document, the terms “computer program medium” and “computerusable medium” are used to generally refer to media such as, forexample, memory 908, storage unit 920, media 914, and channel 928. Theseand other various forms of computer program media or computer usablemedia may be involved in carrying one or more sequences of one or moreinstructions to a processing device for execution. Such instructionsembodied on the medium, are generally referred to as “computer programcode” or a “computer program product” (which may be grouped in the formof computer programs or other groupings). When executed, suchinstructions might enable the computing component 900 to performfeatures or functions of the disclosed technology as discussed herein.

While various embodiments of the disclosed technology have beendescribed above, it should be understood that they have been presentedby way of example only, and not of limitation. Likewise, the variousdiagrams may depict an example architectural or other configuration forthe disclosed technology, which is done to aid in understanding thefeatures and functionality that can be included in the disclosedtechnology. The disclosed technology is not restricted to theillustrated example architectures or configurations, but the desiredfeatures can be implemented using a variety of alternative architecturesand configurations. Indeed, it will be apparent to one of skill in theart how alternative functional, logical or physical partitioning andconfigurations can be implemented to implement the desired features ofthe technology disclosed herein. Also, a multitude of differentconstituent component names other than those depicted herein can beapplied to the various partitions. Additionally, with regard to flowdiagrams, operational descriptions and method claims, the order in whichthe steps are presented herein shall not mandate that variousembodiments be implemented to perform the recited functionality in thesame order unless the context dictates otherwise.

Although the disclosed technology is described above in terms of variousexemplary embodiments and implementations, it should be understood thatthe various features, aspects and functionality described in one or moreof the individual embodiments are not limited in their applicability tothe particular embodiment with which they are described, but instead canbe applied, alone or in various combinations, to one or more of theother embodiments of the disclosed technology, whether or not suchembodiments are described and whether or not such features are presentedas being a part of a described embodiment. Thus, the breadth and scopeof the technology disclosed herein should not be limited by any of theabove-described exemplary embodiments.

For example, any of the interfaces described in any of theabove-described exemplary embodiments may be referred to using differentnames or terminology, such as a first messaging interface, secondmessaging interface, first interface, second interface, etc. It shouldalso be understood that when such interfaces are referred to with“first,” “second,” etc. designations, unless stated otherwise suchinterfaces need not be presented for display in such an order. That is,when referring to a “first messaging interface” and a “second messaginginterface,” the same should not be understood to be limited toembodiments where the “first messaging interface” must be displayed on aGUI first, or that the “second messaging interface” must be displayed ona GUI second, for example.

Terms and phrases used in this document, and variations thereof, unlessotherwise expressly stated, should be construed as open ended as opposedto limiting. As examples of the foregoing: the term “including” shouldbe read as meaning “including, without limitation” or the like; the term“example” is used to provide exemplary instances of the item indiscussion, not an exhaustive or limiting list thereof; the term “topic”should be construed broadly.

The terms “a” or “an” should be read as meaning “at least one,” “one ormore” or the like; and adjectives such as “conventional,” “traditional,”“normal,” “standard,” “known” and terms of similar meaning should not beconstrued as limiting the item described to a given time period or to anitem available as of a given time, but instead should be read toencompass conventional, traditional, normal, or standard technologiesthat may be available or known now or at any time in the future.Likewise, where this document refers to technologies that would beapparent or known to one of ordinary skill in the art, such technologiesencompass those apparent or known to the skilled artisan now or at anytime in the future.

The presence of broadening words and phrases such as “one or more,” “atleast,” “but not limited to” or other like phrases in some instancesshall not be read to mean that the narrower case is intended or requiredin instances where such broadening phrases may be absent. The use of theterm “component” does not imply that the components or functionalitydescribed or claimed as part of the component are all configured in acommon package. Indeed, any or all of the various constituents of acomponent, whether control logic or other components, can be combined ina single package or separately maintained and can further be distributedin multiple groupings or packages or across multiple locations.

Additionally, the various embodiments set forth herein are described interms of exemplary block diagrams, flow charts and other illustrations.As will become apparent to one of ordinary skill in the art afterreading this document, the illustrated embodiments and their variousalternatives can be implemented without confinement to the illustratedexamples. For example, block diagrams and their accompanying descriptionshould not be construed as mandating a particular architecture orconfiguration.

We claim:
 1. A system, comprising: one or more processors; a memorystoring instructions that, when executed by the one or more processors,cause the system to: provide, responsive to a first selection on a firstdevice, a first messaging interface for electronic messaging, the firstmessaging interface comprising a message composition zone and aconversation pane configured to present a conversation feed; wherein theconversation feed of the first messaging interface includes each of theone or more electronic messages that have not been associated with anythread label by a user or a recipient; and wherein the conversation feedof the first messaging interface excludes each of the one or moreelectronic messages that have been associated with any thread label bythe user or the recipient; provide, from within the first messaginginterface, an option to associate a thread label with one or moreelectronic messages displayed within the first messaging interface;associate, responsive to a selection of the option by the user fromwithin the first messaging interface, the thread label with one or moreelectronic messages of the plurality of electronic messages displayedwithin the first messaging interface; provide, responsive to a secondselection on the first device, a second messaging interface forelectronic messaging, the second messaging interface comprising: amessage composition zone, and a conversation pane configured to presenta conversation feed; wherein the conversation feed of the secondmessaging interface includes each of the one or more electronic messagesassociated with the thread label by either the user or the recipient;and wherein the conversation feed of the second messaging interfaceexcludes electronic messages of the plurality of messages not associatedwith the thread label; associate, responsive to an electronic messagebeing provided for transmission by the user or the recipient from withinthe second messaging interface, the thread label corresponding to thesecond messaging interface with the electronic message; provide, fromwithin the second messaging interface, an option to disassociate thethread label from one or more electronic messages of the plurality ofelectronic messages previously associated with the thread label;disassociate, responsive to a selection of the option by the user fromwithin the second messaging interface, the thread label from one or moreelectronic messages of the plurality of electronic messages previouslyassociated with the thread label; monitor the plurality of electronicmessages to detect post-transmission thread label association changesand thread label disassociation changes made by one or more of the userand the recipient; and propagate, responsive to detecting a thread labelassociation or disassociation change to an electronic message made byone of the user and the recipient, the thread label association ordisassociation change to the other of the user and the recipient suchthat the thread label association or disassociation change is reflectedin the first and second messaging interfaces of the first device and ina messaging interface provided on a second device used by the recipient.2. The system of claim 1, wherein the memory further stores instructionsthat, when executed by the one or more processors, cause the system to:provide, within the first messaging interface, a selectable displayobject corresponding to the thread label.
 3. The system of claim 2,wherein the memory further stores instructions that, when executed bythe one or more processors, cause the system to: navigate, responsive toa selection by the user of the selectable display object, from the firstmessaging interface to the second messaging interface.
 4. The system ofclaim 2, wherein the memory further stores instructions that, whenexecuted by the one or more processors, cause the system to: positionthe selectable display object within the first messaging interface basedon one or more of: a number of unread electronic messages associatedwith the thread label corresponding to the selectable display object;and a measure of recent electronic messaging activity associated withthe thread label corresponding to the selectable display object.
 5. Thesystem of claim 2, wherein the selectable display object is a thumbnailcomprising imagery associated with the thread label.
 6. The system ofclaim 5, wherein the thumbnail imagery of the selectable display objectis modifiable by a user.
 7. The system of claim 1, wherein the one ormore electronic messages comprises one or more of an image, a video anda GIF; and wherein the memory further stores instructions that, whenexecuted by the one or more processors, cause the system to: add,responsive to the association, the one or more of the image, the videoand the GIF into a thread label album provided on the first device,wherein the thread label album corresponds to a collection of images,videos and GIFs contained within messages associated with the threadlabel; and propagate, responsive to the association, the addition of theone or more of the image, the video and the GIF into a thread labelalbum provided on the second device used by the recipient.
 8. The systemof claim 7, wherein the memory further stores instructions that, whenexecuted by the one or more processors, cause the system to: remove,responsive to a disassociation of the thread label from the electronicmessage, the one or more of the image, the video and the GIF from thethread label associated album; and propagate, responsive to thedisassociation, the removal of the one or more of the image, the videoand the GIF from a thread label album provided on the second device usedby the recipient.
 9. A method, comprising: providing, responsive to afirst selection on a first device, a first messaging interface forelectronic messaging, the first messaging interface comprising a messagecomposition zone and a conversation pane configured to present aconversation feed; wherein the conversation feed of the first messaginginterface includes each of the one or more electronic messages that havenot been associated with any thread label by a user or a recipient; andwherein the conversation feed of the first messaging interface excludeseach of the one or more electronic messages that have been associatedwith any thread label by the user or the recipient; providing, fromwithin the first messaging interface, an option to associate a threadlabel with one or more electronic messages displayed within the firstmessaging interface; associating, responsive to a selection of theoption by the user from within the first messaging interface, the threadlabel with one or more electronic messages of the plurality ofelectronic messages displayed within the first messaging interface;providing, responsive to a second selection on the first device, asecond messaging interface for electronic messaging, the secondmessaging interface comprising: a message composition zone, and aconversation pane configured to present a conversation feed; wherein theconversation feed of the second messaging interface includes each of theone or more electronic messages associated with the thread label byeither the user or the recipient; and wherein the conversation feed ofthe second messaging interface excludes electronic messages of theplurality of messages not associated with the thread label; associating,responsive to an electronic message being provided for transmission bythe user or the recipient from within the second messaging interface,the thread label corresponding to the second messaging interface withthe electronic message; providing, from within the second messaginginterface, an option to disassociate the thread label from one or moreelectronic messages of the plurality of electronic messages previouslyassociated with the thread label; disassociating, responsive to aselection of the option by the user from within the second messaginginterface, the thread label from one or more electronic messages of theplurality of electronic messages previously associated with the threadlabel; monitoring the plurality of electronic messages to detectpost-transmission thread label association changes and thread labeldisassociation changes made by one or more of the user and therecipient; and propagating, responsive to detecting a thread labelassociation or disassociation change to an electronic message made byone of the user and the recipient, the thread label association ordisassociation change to the other of the user and the recipient suchthat the thread label association or disassociation change is reflectedin the first and second messaging interfaces of the first device and ina messaging interface provided on a second device used by the recipient.10. The method of claim 9, further comprising: providing, within thefirst messaging interface, a selectable display object corresponding tothe thread label.
 11. The method of claim 10, further comprising:navigating, responsive to a selection by the user of the selectabledisplay object, from the first messaging interface to the secondmessaging interface.
 12. The method of claim 10, further comprising:positioning the selectable display object within the first messaginginterface based on one or more of: a number of unread electronicmessages associated with the thread label corresponding to theselectable display object; and a measure of recent electronic messagingactivity associated with the thread label corresponding to theselectable display object.
 13. The method of claim 10, wherein theselectable display object is a thumbnail comprising imagery associatedwith the thread label.
 14. The method of claim 9, wherein the one ormore electronic messages comprises one or more of an image, a video anda GIF; and wherein the method further comprises: adding, responsive tothe association, the one or more of the image, the video and the GIFinto a thread label album provided on the first device, wherein thethread label album corresponds to a collection of images, videos andGIFs contained within messages associated with the thread label; andpropagating, responsive to the association, the addition of the one ormore of the image, the video and the GIF into a thread label albumprovided on the second device used by the recipient.
 15. The method ofclaim 14, further comprising: removing, responsive to a disassociationof the thread label from the electronic message, the one or more of theimage, the video and the GIF from the thread label associated album; andpropagating, responsive to the disassociation, the removal of the one ormore of the image, the video and the GIF from a thread label albumprovided on the second device used by the recipient.